mongodb数据库入门
文档地址:搜索 nodejs 菜鸟教程
https://www.runoob.com/nodejs/nodejs-mongodb.html
连接数据库
安装依赖
npm i mongodb
修改router.js, 连接数据库
var MongoClient = require("mongodb").MongoClient; // huruqing 数据库名称 var url = "mongodb://106.55.50.108:27017/huruqing"; // 连接数据库,db-数据库 var dbase; MongoClient.connect(url, function (err, db) { if (err) { console.log(err); } else { console.log("数据库已创建!"); // 获取数据库对象 dbase = db.db("huruqing"); } });
创建集合
新增接口
router.all("/addColl", function (ctx) { dbase.createCollection("user", function (err, res) { if (err) throw err; console.log("集合创建成功!"); }); ctx.body = '创建集合'; });
访问接口即可
http://localhost:3000/addColl
添加集合时输出结果
修改app.js的代码 (添加async await)
app.use(async function (ctx,next) { ctx.set("Access-Control-Allow-Origin", "*"); ctx.set("Access-Control-Allow-Methods", "PUT, POST, GET, DELETE, OPTIONS"); // 请求头设置 ctx.set( "Access-Control-Allow-Headers", `Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild,x-token,sessionToken,token` ); if (ctx.method == "OPTIONS") { ctx.body = 200; } else { await next(); } });
修改router.js的代码
router.all("/addColl", async function (ctx) { var collName = ctx.query.collName; try { let res = await dbase.createCollection(collName); ctx.body = '集合创建成功'; } catch (error) { ctx.body = '集合创建失败'; } });
添加数据
router.js
router.all("/add", async function (ctx) {
// 获取参数
var myobj = ctx.request.body;
try {
var res = await dbase.collection("user").insertOne(myobj);
ctx.body = {
code: 1,
msg: '插入成功',
data:res
};
} catch (error) {
ctx.body = {
code: 0,
msg: '插入失败',
};
}
});
add.html
axios.post(url, data).then(function (res) {
if (res.data.code == 1) {
alert('添加成功');
location.href = './index.html';
} else {
alert('添加失败');
}
})
查询列表
router.js
// 列表接口
router.all("/list", async function (ctx) {
try {
let res = await dbase.collection("user"). find({}).toArray();
ctx.body = {
code:1,
msg: 'success',
data: res
};
} catch (error) {
ctx.body = {
code: 0,
msg: 'error'
}
}
});
index.html
function getList() {
var url = 'http://localhost:3000/list';
axios.get(url).then(function (res) {
if (res.data.code == 1) {
list = res.data.data;
render(list);
} else {
alert('获取列表失败')
}
})
}
删除数据
router.js
var ObjectId = require("mongodb").ObjectId;
// 删除接口
router.all("/del", async function (ctx) {
var _id = ctx.request.body._id;
try {
var whereStr = { _id: ObjectId(_id)};
var res = await dbase.collection("user").deleteOne(whereStr);
// deletedCount的值大于0才是删除成功
if (res.deletedCount > 0) {
ctx.body = {
code: 1,
msg: "删除成功",
data: res,
};
} else {
ctx.body = {
code: 0,
msg: "删除失败",
};
}
} catch (error) {
ctx.body = {
code: 0,
msg: "删除失败",
};
}
});
try catch
console.log(1);
try {
console.log(a);
} catch (error) {
console.log("代码出错了");
}
console.log(2);
用户小项目源码地址
http://soft.huruqing.cn/code/用户管理小项目(mongodb).zip